import Api, { GET_CATE_GOODS} from '../../utils/api.js';
import { handPic, getUrl } from '../../utils/util.js';

const App = getApp();

Page({
  /**
   * 页面的初始数据
   */
data: {
        isloading:true,
        tab_idx:'0',
        tab: [],                                        //分类列表
        current_list: [],                               //当前分类数据
        all_list_data: [],                               //所有分类数据
        hasMore:true,
        min_price: "",                                    //价格区间
        max_price: "",                                    //价格区间
        filt_show: false,                                 //价格筛选是否显示
        sort:'default',                                //价格筛选激活状态 1开始 1综合
        price:0,
    },
// ================筛选======================
    //  条件筛选 状态修改
    sort: function (e) {
        console.log(e);
        let sort = e.target.dataset.sort,
            _this = this;
        switch (sort){
            case 'default':
            case 'sale':
            case 'new':
                this.setData({
                    sort: sort,
                    min_price:'',
                    max_price:'',
                    price:''
                },function(){
                    _this.loadList(1);
                })
                break;
            case 'price':
                this.Close_filt();
                break;
        };

        // 如果点击的不是价格筛选 修改点击状态(价格筛选没有激活状态),关闭价格区间
        if(sort != 'price'){
            this.setData({ sort: sort });
        }

    },
    // 设置价格区间
    priceSection:function(e){
        let { tip } = e.target.dataset;
        let value = e.detail.value;

        if(tip=="min"){
            this.setData({ min_price: value});
        }else{
            this.setData({ max_price: value });
        }
    },
    // 按价格搜索
    filt_price:function(e){
        // 按输入的区间搜索
        let _this =this;
        if (e.target.dataset.tip){
            const { min_price, max_price} = this.data;
            if (min_price && max_price){
                // 发起搜索请求 并且关闭价格搜索 同时修改数据
                this.setData({
                    price:min_price + "-" + max_price
                },function(){
                    _this.loadList(1);
                })
                this.Close_filt();
            }else{
                wx.showToast({
                    title: '请输入价格',
                    icon: 'success',
                    duration: 1000
                })
            }
        }else{
            let {price} = e.target.dataset;
            
            price = price.split("-");

            this.setData({
                min_price:price[0],
                max_price:price[1],
                price:e.target.dataset.price
            })
        }

    },
    // 关闭价格筛选 close?强制关闭
    Close_filt:function(close=false){
        let status, filt_show = this.data.filt_show;
        
        if (filt_show){
            status = false
        }else{
            close ? status = false : status = true;
        }

        this.setData({ filt_show: status });
    },
    // 修改筛选后的数据
    modify_filtData:function(){

    },
// ================筛选======================

    loadList:function(p){

        const {cateid,sort,price,list} = this.data;

        this.setData({
            isloading: true
        })

        wx.showLoading({
            title: '加载中',
            mask:true
        })
        Api.fetch(GET_CATE_GOODS, {page:p,cateid: cateid, sort: sort, price: price }, resp => {
            resp.items.map((v, k) => {
                v.default_img = handPic(v.default_img, 4);
                if(resp.page != 1){
                    list.push(v);
                }
            })
            if(resp.page ==1){
                this.setData({
                    list:resp.items
                })
            }else{
                this.setData({
                    list: list
                })
            }
            this.setData({
                isloading: false,
                p: resp.page,
                sort:sort,
                hasMore:resp.next == resp.page?false:true
            })
            wx.hideLoading()
        })
    },

  
    // 跳转
    navigateTo:function(e){
        const {idx,tip} = e.currentTarget.dataset;
     
        let url ;
        if (tip =='goods_detail'){
            url = getUrl(tip,{gc_id:idx});
        };
        App.navigateTo(url);
    },
    // 加载
    onLoad: function (options) {

        const {cateid} = options;

        const {sort,price} = this.data;
        // 数据初始化
        this.setData({
            cateid:cateid
        })
        this.loadList(1);
 
    },
    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {
    
    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {
    
    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {
    
    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {
    
    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {
    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {
        const {hasMore,p} = this.data;

        if(hasMore){
            this.loadList(p+1);
        }
    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {
    
    }
})